Streaming and gaming universal remote controller

ABSTRACT

Disclosed is a universal remote controller for streaming multimedia content and gaming content to a multimedia device. The remote controller includes a display, a browser module to select the content or identification data associated with the content, a streaming module to arrange and stream the content, and a control module to control the streaming of the content and to control the multimedia device during the streaming. Also disclosed is a universal remote controller including a display area on the remote controller, an advertisement controller in communication with an advertisement platform to receive advertisements and to display them on the display area, and an event analyzer to analyze usage data of the universal remote controller and to provide events performed by a user of the remote controller to the advertisement controller. The advertisement controller defines requests to the advertisement platform as a function of the events.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims benefit from U.S. Provisional Patent Application No. 62/057,283 filed Sep. 30, 2014, to 62/057,287 filed Sep. 30, 2014, and to 62/057,289 filed Sep. 30, 2014, all of which are hereby incorporated in their entirety by reference.

FIELD OF THE INVENTION

The present invention relates to multimedia devices generally and to a system and method for remotely controlling media streaming and gaming functionality in multimedia devices in particular.

BACKGROUND OF THE INVENTION

Remote controllers to allow a user to remotely control the operation of televisions, stereos, and other multimedia devices for audio and video enjoyment, as well as for gaming enjoyment, are well known and have been around for many years. In the earlier days, manufacturers configured the multimedia devices to operate with a dedicated remote controller which was programmed with a particular identification code required for pairing with the device, generally communicating using infrared (IR) or radio frequency (RF) communications to control the device. With time and technological advancement, these dedicated remote controllers were followed by universal remote controllers which were programmed with a relatively large number of identification codes which allowed the remote controller to pair with and control a larger number of multimedia devices.

The proliferation in digital content and the explosive growth in the use of consumer electronic devices with Internet connectivity, for example smart TVs, smart phones, and tablets, among others, has given way to the development of a relatively large number of application programs which may be used with these devices to remotely control multimedia devices. These application programs may generally be downloaded from the Internet directly to the consumer electronic device.

SUMMARY OF THE PRESENT INVENTION

There is provided, in accordance with an embodiment of the present invention, a universal remote controller for streaming multimedia content to a multimedia device. The remote controller includes a display, a browser module to select any one of a multimedia content or identification data associated with the multimedia content, a streaming module to arrange and stream the multimedia content, and a control module to control streaming of the multimedia content and to control the multimedia device during streaming.

According to an embodiment of the present invention, the universal remote controller includes a communications module to allow the browser to retrieve the identification data from the Internet.

According to an embodiment of the present invention, the universal remote controller includes communication module to transfer any one of the multimedia content and the identification data to the multimedia device.

According to an embodiment of the present invention, the identification data includes an URL (uniform resource locator) address.

There is provided, in accordance with an embodiment of the present invention, a method of streaming multimedia content to a multimedia device, the method includes storing in a remote controller any one of a multimedia content and identification data associated with the multimedia content, and transferring to the multimedia device any one of the multimedia content and the identification data.

According to an embodiment of the present invention, the identification data includes a URL address.

According to an embodiment of the present invention, the method additionally includes downloading the identification data from the Internet.

According to an embodiment of the present invention, the method additionally includes streaming the multimedia content from the Internet to the multimedia device.

According to an embodiment of the present invention, the method additionally includes controlling the multimedia device with the remote controller while the multimedia content is streamed to the multimedia device.

According to an embodiment of the present invention, the method additionally includes transferring any one of the multimedia content and the identification data from the remote controller.

There is provided, in accordance with an embodiment of the present invention, a universal remote controller for streaming gaming content to a multimedia device, the remote controller includes a display, a browser module to select any one of a gaming content or identification data associated with the multimedia content, a streaming module to arrange and stream the gaming content, and a control module to control the streaming of the gaming content and to control the multimedia device during a gaming session.

According to an embodiment of the present invention, the universal remote controller additionally includes a communications module to allow the browser to retrieve the identification data from the Internet.

According to an embodiment of the present invention, the universal remote controller additionally includes a communication module to transfer any one of the gaming content and the identification data to the multimedia device.

According to an embodiment of the present invention, the identification data includes an URL (uniform resource locator) address.

There is provided, in accordance with an embodiment of the present invention, a method of streaming gaming content to a multimedia device, the method includes storing in a remote controller any one of a gaming content and identification data associated with the gaming content, and transferring to the multimedia device any one of the gaming content and the identification data.

According to an embodiment of the present invention, the identification data includes a URL address.

According to an embodiment of the present invention, the method additionally includes downloading the identification data from the Internet.

According to an embodiment of the present invention, the method additionally includes streaming the gaming content from the Internet to the multimedia device.

According to an embodiment of the present invention, the method additionally includes controlling the multimedia device with the remote controller while the gaming content is streamed to the multimedia device.

According to an embodiment of the present invention, the method additionally includes transferring any one of the gaming content and said identification data from the remote controller.

There is provided, in accordance with an embodiment of the present invention, a universal remote controller including a display area on the remote controller, an advertisement controller in communication with an advertisement platform to receive advertisements and to display them on the display area, and an event analyzer to analyze usage data of the universal remote controller and to provide events performed by a user of the remote controller to the advertisement controller.

According to an embodiment of the present invention, the advertisement controller defines requests to the advertisement platform as a function of the events.

According to an embodiment of the present invention, the events are at least one of the following: accessing an appliance; adding a new appliance; if a number of test appliances were checked; if a number of buttons in said test appliances were checked; which appliance is accessed or detected; if the keyboard, mouse, gyroscope, or other input/output device was accessed; if there is content sharing; for televisions, which advertisements were shown successfully and unsuccessfully; and language changes, type of appliance, model of appliance, personal usage data collected including age and user location.

According to an embodiment of the present invention, the advertisement controller in communication with the advertisement platform display advertisements on a multimedia device.

BRIEF DESCRIPTION OF THE DRAWINGS

The subject matter regarded as the invention is particularly pointed out and distinctly claimed in the concluding portion of the specification. The invention, however, both as to organization and method of operation, together with objects, features, and advantages thereof, may best be understood by reference to the following detailed description when read with the accompanying drawings in which:

FIG. 1 schematically illustrates a universal remote control system, according to an embodiment of the present invention;

FIG. 2 schematically illustrates the system of FIG. 1 with the computing device operable to control a multimedia device during cloud-based streaming of multimedia and/or gaming content, according to an embodiment of the present invention;

FIG. 3 schematically illustrates the system of FIG. 1 with the computing device operable to control a multimedia device during an alternate mode of cloud-based streaming of multimedia and/or gaming content, according to an embodiment of the present invention;

FIG. 4 schematically illustrates the computing device shown in FIGS. 2 and 3 in a direct content streaming mode, according to an embodiment of the present invention;

FIG. 5 is an exemplary state diagram of the media player operation in the computing device, according to an embodiment of the present invention;

FIG. 6 is an exemplary state diagram of the media player operation in the computing device when no content is detected upon media player initialization, according to an embodiment of the present invention;

FIG. 7 is an exemplary state diagram associated with a discovery and pairing operation between the computing device and the smart TV, with discovery initiated by media player activation and pairing user initiated, according to an embodiment of the present invention;

FIG. 8 is an exemplary state diagram associated with an alternate discovery and pairing operation of the computing device and the smart TV when discovery and pairing are both initiated by the user, according to an embodiment of the present invention;

FIG. 9A is an exemplary state diagram associated with an alternate discovery and pairing operation of the computing device and the multimedia device when discovery and pairing are initiated by the user from a same activation button, according to an embodiment of the present invention;

FIG. 9B is an exemplary state diagram of the media player operation in the computing device following prior selection of the multimedia device through the application selector on the display, according to an embodiment of the present invention;

FIG. 9C is an exemplary state diagram of an alternate mode of media player operation in the computing device following prior selection of the multimedia device through the application selector, according to an embodiment of the present invention;

FIG. 10A schematically illustrates an exemplary streaming media player control screen in the computing device, according to an embodiment of the present invention;

FIG. 10B schematically illustrates an exemplary smart TV remote control screen in the computing device, according to an embodiment of the present invention;

FIG. 10C schematically illustrates an exemplary gyro-gesture/keyboard control screen in the computing device, according to an embodiment of the present invention;

FIG. 10D schematically illustrates an exemplary browser screen in the computing device, according to an embodiment of the present invention;

FIG. 11 schematically illustrates the system of FIG. 1 with an additional advertisement controller to retrieve advertisements from an advertisement platform connected to the Internet and to display the retrieved advertisements on a screen of the display, according to an embodiment of the present invention; and

FIG. 12 schematically illustrates exemplary funnels defined by the event analyzer in the system of FIG. 11, according to an embodiment of the present invention.

It will be appreciated that for simplicity and clarity of illustration, elements shown in the figures have not necessarily been drawn to scale. For example, the dimensions of some of the elements may be exaggerated relative to other elements for clarity. Further, where considered appropriate, reference numerals may be repeated among the figures to indicate corresponding or analogous elements.

DETAILED DESCRIPTION OF THE PRESENT INVENTION

In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the invention. However, it will be understood by those skilled in the art that the present invention may be practiced without these specific details. In other instances, well-known methods, procedures, and components have not been described in detail so as not to obscure the present invention.

Unless specifically stated otherwise, as apparent from the following discussions, it is appreciated that, throughout the specification, discussions utilizing terms such as “processing,” “computing,” “calculating,” “determining,” or the like, refer to the action and/or processes of a computer, computing system, or similar electronic computing device that manipulates and/or transforms data represented as physical, such as electronic, quantities within the computing system's registers and/or memories into other data similarly represented as physical quantities within the computing system's memories, registers or other such information storage, transmission or display devices.

Embodiments of the present invention may include apparatus for performing the operations herein. This apparatus may be specially constructed for the desired purposes, or it may comprise a general-purpose computer selectively activated or reconfigured by a computer program stored in the computer. Such a computer program may be stored in a computer readable storage medium, such as, but not limited to, any type of disk, including floppy disks, optical disks, magnetic-optical disks, read-only memories (ROMs), compact disc read-only memories (CD-ROMs), random access memories (RAMs), electrically programmable read-only memories (EPROMs), electrically erasable and programmable read only memories (EEPROMs), magnetic or optical cards, Flash memory, or any other type of media suitable for storing electronic instructions and capable of being coupled to a computer system bus.

The processes and displays presented herein are not inherently related to any particular computer or other apparatus. Various general-purpose systems may be used with programs in accordance with the teachings herein, or it may prove convenient to construct a more specialized apparatus to perform the desired method. The desired structure for a variety of these systems will appear from the description below. In addition, embodiments of the present invention are not described with reference to any particular programming language. It will be appreciated that a variety of programming languages may be used to implement the teachings of the invention as described herein.

In PCT international patent application PCT/IB2015/057500 filed on Sep. 30, 2015, and US patent application U.S. Ser. No. 14/870,353 filed on Sep. 30, 2015, both of which are assigned to the common assignee of the present application, and both of which are incorporated herein in their entirety by reference, Applicants disclose a universal remote control system based on an event-driven architecture (EDA) which may individually and/or collectively control different types of electronic and electrical appliances. In the EDA, each application in an appliance is associated with a state machine configured to send messages to, and receive messages from, other state machines. The state machines may also be configured to monitor message transmissions between other state machines. The EDA may include an event and message handler which may act as a message broker to automatically handle the transfer of messages between state machines, and a conflict manager to automatically resolve conflicts in transmitted messages between state machines. The state machines may all be associated with a particular appliance, or with several appliances whose operation may be interrelated. Consequently, the remote control system may allow use of a single remote controller to individually control different types of appliances, and may additionally allow jointly controlling different appliance and types of appliances as a single appliance set.

For reference purposes, FIG. 1 in the aforementioned PCT international patent application and US patent application is included herein as FIG. 1 and described herein below.

Remote control system 100 may be EDA-based and may include one or more computing devices, for example, computing device 102 (remote controller); any combination of electrical and electronic appliances and which may include WIFI appliances 104, IR appliances 106, and optional RF appliances 108; an optional WIFI/IR converter 112; a usage data server 110 and an appliance data server 111. WIFI appliances may be any one or more electronic or electric appliances which may be remotely controlled using WIFI communications, and may include, for example, smart TVs and other multi-media devices, stereos, DVDs, set top boxes, coffee machines, washing and drying machines, refrigerators, ovens including microwave ovens, light switches, security systems, window shutters, garage doors, among many other appliances which may be remotely controlled using WIFI communications. IR appliances 106 may be any one or more types of electronic and electrical appliance which may be remotely controlled using IR communications, and may include all appliances known in the art as “legacy” appliances. RF appliances 108 may be any one or more types of electronic and electrical appliance which may be remotely controlled using RF communications, which may include Bluetooth (BT) communications, Near Field communication (NFC), RFID (radio frequency identification), among other types of RF communication technologies suitable for remotely controlling electrical and electronic appliances.

Computing device 102 may include a controller module 114, a communication module 116, a memory storage module 118, and a display 120. Computing device 102 may serve as a universal remote control device (remote controller) and may preferably be, although not limited to, a handheld computing device and may include, for example, a smartphone, a tablet, or a dedicated Internet-connectable handheld remote control device. Computing device 102 may discover and pair with any one or more of WIFI appliances 104, IR appliances 106, and optional RF appliances 108, to remotely control their operation.

Computing device 102 may additionally be configured to download content from the Internet 122 and to stream the content to any of the paired appliances suitably configured to receive streaming content. Additionally or alternatively, the content may be stored in computing device 102 and may be streamed to any of the suitably configured appliances as desired by a user of the computing device.

Computing device 102 may connect through the Internet 122 to appliance data server 111 to download identification codes for WIFI appliances 104, IR appliances 106, and RF appliances 108, which may be stored in a database in the server. Computing device 102 may additionally download from appliance data server 111 data which may be used for the operation of the computing device as a universal remote control device and for use in the operation of universal remote control system 100, including data associated with the operation of the EDA, and which may include, aside from the information codes for the different types of appliances, data associated with the application programs of the appliances and with the operation of the switch and the conflict manager, including update information. Additionally or alternatively to connecting to appliance data server 111 through the Internet 122, computing device may connect to the server through other connection means well known in the art for server/user data transfer.

Computing device 102 may upload data through the Internet 122 to usage data server 110 which may be associated with identification data associated with the computing device itself or with a user of the computing device. The uploaded data may additionally include information which may be processed by usage data server 110 to determine computing device 102 usage characteristics, for example, frequency of usage or hours of usage of the different types of appliances included in WIFI appliances 104, IR appliance 106, and RF appliances 108, among many other types of data which may be uploaded and may be associated with computing device 102 usage characteristics. Additional data which may be uploaded to usage data server 110 may include data input by a user or automatically generated by the device such as, for example, new identification codes for remotely controlled appliances, results of conflict management functions as described further on herein, among all types of different data which may be uploaded from the computing device 102 to enhance system 100 operation.

It may be appreciated by the skilled person that the functions performed by usage data server 110 and appliance data server 111, although described herein as two separate servers, may be functionally performed by one server which may integrate the functions performed by both servers. It may be further appreciated, that the distribution of functions as described above are not intended to be limiting, and that some of the functions described as being performed by one server may be performed by the other server, and vice versa. It may be additionally appreciated by that usage data server 110 and appliance data server 111 may communicate with one another over the Internet 122, or through other means known in the art, to exchange data between them, including data which may be processed by one server and stored in the other server.

Communication module 116 may include a WIFI connection unit 130 to allow communication between computing device 102 and WIFI appliances 104. WIFI connection unit 130 may optionally communicate with WIFI/IR converter 112 to enable WIFI communication between computing device 102 and IR appliances 106 fitted with the WIFI/IR converter. Communication module 116 may additionally include an IR connection unit 132 to allow communication between computing device 102 and IR appliances 106. Communication module 116 may additionally include a RF connection unit 134 to allow communication between computing device 102 and RF appliances 108. Communication module 116 may additionally include an Internet connection unit 136 to allow Internet connections between computing device 102 over the Internet 122, including with usage data server 110 and appliance data server 111.

Controller module 114 may include a state machine module 123, a selection wizard module 124, a control panel hierarchy module 126, and a tester module 128. State machine module 123 may serve as the core of the EDA architecture and may monitor the state of the state machines associated with each appliance and may additionally trigger changes in the states. The changes in the states may be triggered responsive to user initiated operations or responsive to the monitoring, and may include use of a switch and a conflict manager. State machine module 123 may include a state machine register 125 to temporarily store data associated with the state of each state machine, including message codes.

Selection wizard module 124 may serve to guide a user operating computing device 102 to facilitate automatic discovery and pairing with WIFI appliances 104, IR appliances 106, RF appliances 108, and to facilitate automatic downloading and uploading of data to and from usage data server 110 and appliance data server 111. It may also guide a user to facilitate controlling the various appliances. Selection wizard module 124 may interface with memory 118 to store data into, and access data from, an optional IR appliance database 138, an optional WIFI/RF appliance database 140, and an optional USER appliance database 142, which may be included in the memory. Associated with selection wizard module 124 may be tester module 128 which may serve to test the user's selection of control buttons for new appliances and may provide the user with performance feedback to allow the user to potentially select the most suitable control buttons.

Control panel hierarchy module 126 may control the arrangement of a display 120 as a graphical user interface (GUI) to allow hierarchical navigation through the various input and output panels displayed on the display. Display panel 120 may include four general areas where the input and output panels of the GUI may be hierarchically displayed, a control panel 144, a screen 148, an appliance selector 147, and a panel selector 146. Appliance selector 147 may include a slider bar with selector buttons to allow selection of an appliance from different appliances which may be controlled and are associated with a selected appliance type. Panel selector 146 may include a slider bar with selector buttons to allow selection of a panel from a number of different panels which may be used for control and are associated with a selected appliance. Control panel 144 may include selector buttons to allow selection of a feature (element) from the different features which may be controllable in an appliance and are associated with a selected panel. Screen 148 may serve for information display responsive to selections made for appliance control, but may display other type of information, which may include advertising and user information. IR appliance database 138 and WIFI/RF appliance database 140 may include discovery and pairing data downloaded to computing device 102 from appliance data server 111. User appliance database 142 may include data input by the user and which may be associated with manually activated discovery and pairing functions which may be initiated by the user, and may include discovery and pairing data manually input by the user.

Applicants have realized that the universal remote control system based on an event-driven architecture (EDA) and the remote controller described in the above mentioned US patent application and PCT international application may also be used to remotely control multimedia devices, for example, a smart TV, for multimedia streaming and for gaming. Multimedia streaming and gaming may be cloud-based through the Internet with the remote controller serving to control the multimedia device. Optionally, the remote controller may stream the multimedia and/or gaming content directly to the multimedia device. Optionally, the multimedia and gaming content may be downloaded to the multimedia device through file transfer and played back by the device once downloaded. The multimedia content may include advertising content.

Reference is now made to FIGS. 2 and 3 which schematically illustrate the system of FIG. 1 with computing device 102 operable to control multimedia device 105 during cloud-based streaming of multimedia and/or gaming content, according to an embodiment of the present invention. Controller 114 may include an additional streaming module 115 (SM), a browser module 117 (BR), and a control module 119 (CTRL), to provide remote control multimedia streaming and/or gaming functionality to multimedia device 105. Multimedia device 105 may be, for example, a smart TV. It may be appreciated that, although the following description is with respect to cloud-based streaming through the Internet 122, the cloud-based streaming may be replaced by file downloading from the Internet for playback in multimedia device 105 once downloaded, or for playback while downloading.

Browser module 117 may select the multimedia content or the gaming content (hereinafter referred to as “content”) to be streamed to multimedia device 105, responsive to user inputs through the device's GUI implemented on display 120. The content may be stored in memory 118 in computing device 102, or instead may be stored as an identification address associated with the content, for example a URL address. The URL address may also be stored in memory 118 or alternatively, may be cached in browser module 117. The URL address may direct to a cloud-based location where the content may be found. Access to the URL address may be through browser module 117 which may interface computing device 102 with the Internet 122 through communication module 116. Browser module 117 may allow searching for URL addresses in the Internet 122 upon user request (FIG. 2), and may additionally or alternatively allow storing URL addresses in computing device 102 for later use (FIG. 3). Streaming module 115 may format the content for streaming and may stream it to multimedia device 105 through communication module 116. Control module 119 may control in computing device 102 the streaming operation and may additionally remotely control multimedia device 105 during the streaming operation. A description of state machines associated with the operation of computing device 102 in the multimedia streaming mode and gaming mode is provided further on below with respect to FIGS. 5-11.

System operation when a URL address is not cached in browser module 117 or stored elsewhere in computing device 102 may be described with reference to FIG. 2. As indicated by arrow 1, a request for a URL address associated with the content to be streamed to multimedia device 105 may be sent from computing device 102 to a cloud-based location in the Internet 122. The request may be responsive to a user's search for content through the browser. The URL address may then be transferred from the Internet 122 to computing device 102 as indicated by arrow 2. Computing device 103 may then transfer the URL address to multimedia device 105 as indicated by arrow 3. Multimedia device 105 may receive the URL address and may send a request to the URL address as indicated by arrow 4. Content may be streamed from the URL address on the Internet 122 to multimedia device 105 as shown by arrow 5. Control of multimedia device functions, including control of the streaming functions and/or gaming functions, may be carried out by computing device 102, as shown by arrow 6.

System operation when a URL address is cached in browser module 117 or otherwise stored in computing device 102 may be described with reference to FIG. 3. Responsive to a user's request for content, computing device 103 may transfer the cached URL address to multimedia device 105 as indicated by arrow 1. Multimedia device 105 may receive the URL address and may send a request to the URL address on the Internet 122 as indicated by arrow 2. Content may be streamed from the URL address on the Internet 122 to multimedia device 105 as shown by arrow 3. Control of multimedia device functions, including control of the streaming functions and/or gaming functions, may be carried out by computing device 102, as shown by arrow 4.

Reference is now made to FIG. 4 which schematically illustrates computing device 102 shown in FIGS. 2 and 3 in a direct content streaming mode, according to an embodiment of the present invention. The content may be stored in memory 118 and may be streamed to multimedia device 105, as indicated by arrow 1. Control of multimedia device functions, including control of the streaming functions and/or gaming functions, may be carried out by computing device 102, as shown by arrow 2. It may be appreciated that, although the above description is made with respect to streaming, which may include URL streaming and content, streaming may be replaced by direct file transfer from computing device 102.

It may be appreciated that use of computing device 102 as a remote controller for multimedia streaming and for gaming may include use of media player functions (media player) and gamer functions (gamer) implemented through media player screens and gamer screens in the GUI described in the aforementioned PCT international patent application and the US patent application. These functions may be activated by sending messages to the switch in state machine module 123 in controller 114. It may also be appreciated that some of the media player functions and gamer functions may be implemented directly into multimedia device 105 with computing device 102 dedicated to remotely controlling these functions.

Reference is now made to FIG. 5 which is an exemplary state diagram of the media player operation in computing device 102, according to an embodiment of the present invention. Although the state diagram is described herein below with respect to the media player, it may be appreciated that the state diagram for the media player may be similarly applicable to the gamer. It may be further appreciated that some of the media player functions and gamer functions may be implemented in multimedia device 105 and remotely controlled by computing device 102.

At 500, a list of applications may be displayed by the GUI which may include one or more media players. A media player may then be selected out of the one or more media players listed on the applications list.

At 501, a check may be made to see if content is stored in the device, which may include a URL address cached in browser module 117. If content exists, go to 503. If there is no content stored (empty), continue to 502.

At 502, the media player browser (by means of the GUI) may be used to search for content in the Internet. Once found, the content (which may include the URL address and may be used hereinafter to refer to any one of streaming content and a URL address) may be downloaded by the browser.

At 503, the selected media player may be used to select the downloaded URL address (or streaming content) if from 502 or the stored content if from 501.

At 504, an action may be invoked which may include, for example, transferring the content to multimedia device 105 (FIGS. 2-4). Following, return to 500.

Reference is now made to FIG. 6 which is an exemplary state diagram of the media player operation in computing device 102 when no content is detected upon media player initialization, according to an embodiment of the present invention. As in FIG. 5, the state diagram is described herein below with respect to the media player although it may be appreciated that the state diagram for the media player may be similarly applicable to the gamer. It may be further appreciated that some of the functions of the media player may be implemented in multimedia device 105 and remotely controlled by computing device 102.

At 600, a list of applications may be displayed by the GUI which may include one or more media players. A media player may be selected out of the one or more media players listed on the applications list.

At 601, a check may be made to see if content is stored in the device. If content exists, go to 603. If there is no content stored (empty), continue to 602.

At 602, the browser in the GUI may be used to search for content in the Internet. Once found, the content to be stored may be downloaded by the browser. As an alternative, if the browser cache is empty, for example as may occur during initialization, continue to 603 or return to 600.

At 603, the selected media player may be used to select the downloaded content (e.g. from 602) or stored content (e.g. from 601), and continue to 605. If there is no content (e.g. step 602), continue to 603.

At 604, another browser may be called upon by the media player which may store a URL address or which may download content from the Internet 122. Return to step 603.

At 605, an action may be invoked which may include transferring the content to the multimedia device 105 (FIGS. 2-4). Following, return to step 500.

Reference is now made to FIG. 7 which is an exemplary state diagram associated with a discovery and pairing operation between computing device 102 and the multimedia device 105, which may be a smart TV, with discovery initiated by media player activation and pairing user initiated, according to an embodiment of the present invention. As in FIG. 5, the state diagram is described herein below with respect to the media player although it may be appreciated that the state diagram for the media player may be similarly applicable to the gamer.

At 700, responsive to user input, a list of applications may be displayed by the GUI which may include one or more media players. A media player may be selected by the user out of the one or more media players listed on the applications list.

At 701, upon user selection of the media player, discovery may be automatically initiated and be made of all devices which may pair with computing device 102 when the media player is used.

At 702, a check may be made for the existence of content stored in computing device 102.

At 703, in the media player the user may activate a TV button to display only those smart TVs 105 which have been discovered.

At 704, a check may be made to determine the number of smart TVs 105 discovered. If only one smart TV 105 has been discovered, go to 706. If more than one, continue to 705.

At 705, a list of all suitable smart TVs 105 may be provided. The user may select one of the TVs.

At 706, computing device 102 may automatically pair with smart TV 105 (from 704 or 705). Upon completion, return to 703.

Reference is now made to FIG. 8 which is an exemplary state diagram associated with an alternate discovery and pairing operation of computing device 102 and smart TV 105 when discovery and pairing are both initiated by the user, according to an embodiment of the present invention. As in FIG. 5, the state diagram is described herein below with respect to the media player although it may be appreciated that the state diagram for the media player may be similarly applicable to the gamer.

At 800, the media player may be displayed by the GUI. To perform a discovery operation, go to 801. To perform a pairing operation following discovery, go to 802.

At 801, the user may activate a discovery button on the media play. Discovery may be initiated and may be made of all devices which may pair with computing device 102 when the media player is used. Return to 800.

At 802, responsive to user activating a TV button on the media player to display only those smart TVs 105 which have been discovered, a check may be made to determine the number of smart TVs discovered. If only one smart TV 105 has been discovered, go to 804. If more than one smart TV has been discovered, continue to 803.

At 803, a list of all suitable smart TVs 105 may be provided. The user may select one of the TVs.

At 804, computing device 102 may be paired with smart TV 105 (from 802 or 803). Upon completion, return to 800.

Reference is now made to FIG. 9A which is an exemplary state diagram associated with an alternate discovery and pairing operation of computing device 102 and multimedia device 105 when discovery and pairing are initiated by the user from a same activation button, according to an embodiment of the present invention. As in FIG. 5, the state diagram is described herein below with respect to the media player although it may be appreciated that the state diagram for the media player may be similarly applicable to the gamer.

At 900, the media player may be displayed by the GUI.

At 901, the user may activate a TV button on the media player. Discovery may be initiated and may be made of all devices which may pair with computing device 102 when the media player is used. If discovery fails, return to 900.

At 902, a check may be made to determine the number of smart TVs discovered. If only one smart TV 105 has been discovered, go to 904. If more than one, continue.

At 903, a list of all suitable smart TVs 105 may be provided. The user may select one of the TVs.

At 904, computing device 102 may be paired with smart TV 105 (from 902 or 903). Upon completion, return to 900.

Reference is now made to FIG. 9B which is an exemplary state diagram of the media player operation in computing device 102 following prior selection of multimedia device 105 through application selector 147 on display 120, according to an embodiment of the present invention. Although the state diagram is described herein below with respect to the media player, it may be appreciated that the state diagram for the media player may be similarly applicable to the gamer. It may be further appreciated that some of the media player functions and gamer functions may be implemented in multimedia device 105 and remotely controlled by computing device 102.

At 930, a panel list may be displayed by the GUI on panel selector 146 on display 120 and may include one or more panels, including a media player panel. The media player panel may then be selected out of the one or more panels listed on the panel list.

At 931, a check may be made to see if content is stored in the device, which may include a URL address cached in browser module 117. If content exists, go to 903. If there is no content stored (empty), continue to 502.

At 932, the media player browser (by means of the GUI) may be used to search for content in the Internet. Once found, the content (which may include the URL address and may be used hereinafter to refer to any one of streaming content and a URL address) may be downloaded by the browser.

At 933, the selected media player may be used to select the downloaded URL address (or streaming content) if from 502 or the stored content if from 501.

At 934, an action may be invoked which may include, for example, transferring the content to multimedia device 105 (FIGS. 2-4). Following, return to 500.

Reference is now made to FIG. 9C which is an exemplary state diagram of an alternate mode of media player operation in computing device 102 following prior selection of multimedia device 105 through application selector 147, according to an embodiment of the present invention. Although the state diagram is described herein below with respect to the media player, it may be appreciated that the state diagram for the media player may be similarly applicable to the gamer. It may be further appreciated that some of the media player functions and gamer functions may be implemented in multimedia device 105 and remotely controlled by computing device 102.

At 950, a panel list may be displayed by the GUI on panel selector 146 and may include one or more panels, including a media player panel.

At 951, the media player panel may be selected out of the one or more panels listed on the panel list. If content has not yet been selected, continue to 952. If content has been selected, go to 953.

At 952, content stored in the device, which may include a URL address cached in browser module 117, may be selected through the media player browser. Return to 951.

At 953, an action may be invoked which may include, for example, transferring the content to multimedia device 105 (FIGS. 2-4). Following, return to 950.

Reference is now made to FIGS. 10A, 10B, and 10C which are similar to FIGS. 11, 10, and 13, respectively, in the aforementioned PCT international patent application and US patent application. In FIG. 10A is schematically illustrated an exemplary streaming media player control screen 1030 in computing device 102, in FIG. 10B is schematically illustrated an exemplary smart TV remote control screen 1040 in the computing device, and in FIG. 10C is schematically illustrated an exemplary gyro-gesture/keyboard control screen 1050 in the computing device. FIG. 10D schematically illustrates an exemplary browser screen 1060 in the computing device, according to an embodiment of the present invention.

Applicants have realized that the universal remote controller of the present invention may also be utilized, not just for viewing the display of the appliance, but also to display advertisements. The advertisements, which may be displayed on screen 148, may be seen at least while the appliance user is attempting to control the appliance, and may also be viewed while the user holds the remote control (i.e. his/her mobile device). The advertisements may be viewed on screen 148 without affecting any of the control features of the remote controller. The universal remote controller of the present invention may also be used to stream advertisements to multimedia devices 105. The streamed advertisements may be displayed simultaneously with that displayed on screen 148, or may be displayed independently of the content displayed on screen 148.

Applicants have realized that the advertisements may be any type of advertisement or they may be from the company of the device currently being controlled, or they may be related to the activities being controlled by the remote controller. For example, if the appliance being controlled is a washing machine, the advertisements might be for washing detergents, or if the appliance is a television, the advertisements might be for upcoming television shows, etc.

Reference is now made to FIG. 11, which illustrates the system of FIG. 1 with an additional advertisement controller 1000 to retrieve advertisements from an advertisement platform 1002 connected to Internet 122 and to display the retrieved advertisements on screen 148. Advertisement controller 1000 may also be used to retrieve advertisements from advertisement platform 1002 to display on multimedia device 105. Advertisement controller 1000 may utilize usage information stored in usage data server 110 to define information to be provided to advertisement platform 1002 to enable platform 1002 to select advertisements related to the activity currently being controlled by computing device 102. Advertisement platform 1002 may be any suitable advertisement platform, such as the AdMob platform, commercially available from Google Inc., with or without integration with a mediation ad network, such as AdMob Ad Network Mediation also commercially available from Google Inc.

Advertisement controller 1000 may select only graphical advertisements, such as are appropriate to display on screen 148, and, if desired, may also allow “In-App purchases” enabling the user to purchase the advertised product through the advertisement. This mechanism may utilize the selector buttons of control panel 144.

Advertisement controller 1000 may also provide location information to advertisement platform 1002 to enable platform 1002 to find advertisements for local producers as relevant.

Advertisement controller 1000 may also comprise an event analyzer 1010, which may analyze data from user data server 110 to track pre-defined user interface (UI) events as well as appliance usage events. Event analyzer 1010 may be any appropriate analyzer, such as the Flurry Analytics platform, commercially available from Yahoo Inc.

Event analyzer 1010 may track the following application usage, such as sessions, active users, session length, frequency of use, time of day reporting, geographic usage, language metrics, devices, carriers, other information about users and the versions they are using, etc. Event analyzer 1010 may track any event performed by the user. Some examples of the events may include, accessing of an appliance, vendor of an appliance, type of appliance, model of an appliance, system or media source which is added or deleted, number of test appliances checked (i.e. using tester module 128), number of buttons in test appliances checked (i.e. using tester module 128), which appliance is accessed or detected, if the keyboard/mouse or other input/output device such as the gyroscope was accessed, if content sharing, for televisions which advertisements were shown successfully and unsuccessfully, language changes, type of appliance, model of appliance, and personal usage data collected including age and user location.

In addition, event analyzer 1010 may define multiple user paths, also called “funnels”, through the logged events, where a funnel may be a defined sequence of steps that results in a “conversion” from an advertisement (i.e. that a user bought something from an advertisement). A funnel will show the number and percentage of users who completed each step, as well as the conversion rate. Four exemplary funnels are shown in FIG. 12, to which reference is now briefly made.

One funnel might be an activities usage funnel, which may comprise four events: session started, activities list was accessed, activity macro was accessed, session ended. A second funnel might be an appliance usage funnel, which, in addition to the session starting and ending events, may comprise: appliance list was accessed, an appliance was accessed. A third funnel might be an IR (or Wi-Fi) appliance wizard convergence funnel, tracking the successful addition of a new appliance via the IR (or Wi-Fi) appliance wizard. A fourth might be an activity wizard convergence funnel, tracking the successful addition of a new activity.

Event analyzer 1010 may then provide the funnel information to advertisement controller 1000 to request a suitable advertisement from advertisement platform 1002. Advertisement controller 1000 may display the resultant advertisement, received from platform 1002, onto screen 148. Event analyzer 1010 may then analyze the user's activity, noting any response to the advertisement (such as typing on the keyboard or using the mouse, which may indicate a conversion and may collect all information possible to translate into target advertising.

While certain features of the invention have been illustrated and described herein, many modifications, substitutions, changes, and equivalents will now occur to those of ordinary skill in the art. It is, therefore, to be understood that the appended claims are intended to cover all such modifications and changes as fall within the true spirit of the invention. 

What is claimed is:
 1. A universal remote controller for streaming multimedia content to a multimedia device, the remote controller comprising: a display; a browser module to select any one of a multimedia content or identification data associated with said multimedia content; a streaming module to arrange and stream said multimedia content; and a control module to control said streaming of said multimedia content and to control the multimedia device during said streaming.
 2. The universal remote controller according to claim 1 further comprising a communications module to allow said browser to retrieve said identification data from the Internet.
 3. The universal remote controller according to claim 1 further comprising a communication module to transfer any one of said multimedia content and said identification data to the multimedia device.
 4. The universal remote controller according to claim 1 wherein said identification data comprises an URL (uniform resource locator) address.
 5. A method of streaming multimedia content to a multimedia device, the method comprising: storing in a remote controller any one of a multimedia content and identification data associated with said multimedia content; and transferring to the multimedia device any one of said multimedia content and said identification data.
 6. The method according to claim 5 wherein said identification data comprises a URL address.
 7. The method according to claim 5 further comprising downloading said identification data from the Internet.
 8. The method according to claim 7 comprising streaming said multimedia content from the Internet to the multimedia device.
 9. The method according to claim 5 further comprising controlling the multimedia device with said remote controller while the multimedia content is streamed to the multimedia device.
 10. The method according to claim 5 further comprising transferring any one of said multimedia content and said identification data from said remote controller.
 11. A universal remote controller for streaming gaming content to a multimedia device, the remote controller comprising: a display; a browser module to select any one of a gaming content or identification data associated with said multimedia content; a streaming module to arrange and stream said gaming content; and a control module to control said streaming of said gaming content and to control the multimedia device during a gaming session.
 12. The universal remote controller according to claim 11 further comprising a communications module to allow said browser to retrieve said identification data from the Internet.
 13. The universal remote controller according to claim 11 further comprising a communication module to transfer any one of said gaming content and said identification data to the multimedia device.
 14. The universal remote controller according to claim 11 wherein said identification data comprises an URL (uniform resource locator) address.
 15. A method of streaming gaming content to a multimedia device, the method comprising: storing in a remote controller any one of a gaming content and identification data associated with said gaming content; and transferring to the multimedia device any one of said gaming content and said identification data.
 16. The method according to claim 15 wherein said identification data comprises a URL address.
 17. The method according to claim 15 further comprising downloading said identification data from the Internet.
 18. The method according to claim 17 comprising streaming said gaming content from the Internet to the multimedia device.
 19. The method according to claim 17 further comprising controlling the multimedia device with said remote controller while the gaming content is streamed to the multimedia device.
 20. The method according to claim 15 further comprising transferring any one of said gaming content and said identification data from said remote controller.
 21. A universal remote controller comprising: a display area on said remote controller; an advertisement controller in communication with an advertisement platform to receive advertisements and to display them on said display area; and an event analyzer to analyze usage data of said universal remote controller and to provide events performed by a user of said remote controller to said advertisement controller, said advertisement controller to define requests to said advertisement platform as a function of said events.
 22. The universal remote controller according to claim 21 and wherein said events are at least one of the following: accessing an appliance; adding a new appliance; if a number of test appliances were checked; if a number of buttons in said test appliances were checked; which appliance is accessed or detected; if the keyboard, mouse, gyroscope, or other input/output device was accessed; if there is content sharing; for televisions, which advertisements were shown successfully and unsuccessfully; and language changes, type of appliance, model of appliance, personal usage data collected including age and user location.
 23. The universal remote controller according to claim 21 wherein said advertisement controller in communication with said advertisement platform display advertisements on a multimedia device. 